﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;

namespace bd2wpf
{
    public partial class MainWindow : Window
    {
        public bool Check(string s1, string s2) //Сравнение двух строк без учета регистра и по неполному совпадению.  
        {
            bool Flag = false;
            s1 = s1.ToLower();
            s2 = s2.ToLower();
            if (s2.Length > s1.Length) { return false; }

            for (int i = 0; i < s2.Length; i++)
            {
                if (s1[i] == s2[i]) { Flag = true; } else { Flag = false; }
            }

            return Flag;
        }

        public List<MyClass> mySearch = new List<MyClass>();
        private void FiltrGo() // Поиск по записи
        {
            int n = dataSourceMyClass.myClasses.Count;
            bool Flag = true;
            mySearch.Clear();
            if (FiltrCB.Text == "Фамилии")
            {
                for (int i = 0; i < n; i++)
                {
                    if (Check(dataSourceMyClass.myClasses[i].LastName, textFiltr.Text)) { mySearch.Add(dataSourceMyClass.myClasses[i]); Flag = false; }
                }
                if (Flag) { MessageBox.Show("Ничего не найдено."); return; }
            }
            else if (FiltrCB.Text == "Имени")
            {
                for (int i = 0; i < n; i++)
                {
                    if (Check(dataSourceMyClass.myClasses[i].Name, textFiltr.Text)) { mySearch.Add(dataSourceMyClass.myClasses[i]); Flag = false; }
                }
                if (Flag) { MessageBox.Show("Ничего не найдено."); return; }
            }
            else if (FiltrCB.Text == "Отчеству")
            {
                for (int i = 0; i < n; i++)
                {
                    if (Check(dataSourceMyClass.myClasses[i].Patronymic, textFiltr.Text)) { mySearch.Add(dataSourceMyClass.myClasses[i]); Flag = false; }
                }
                if (Flag) { MessageBox.Show("Ничего не найдено."); return; }
            }
            else if (FiltrCB.Text == "Полу")
            {
                for (int i = 0; i < n; i++)
                {
                    if (Check(dataSourceMyClass.myClasses[i].SexString, textFiltr.Text)) { mySearch.Add(dataSourceMyClass.myClasses[i]); Flag = false; }
                }
                if (Flag) { MessageBox.Show("Ничего не найдено."); return; }
            }
            else if (FiltrCB.Text == "Моб.Тел.")
            {
                for (int i = 0; i < n; i++)
                {
                    if (Check(dataSourceMyClass.myClasses[i].Mobily, textFiltr.Text)) { mySearch.Add(dataSourceMyClass.myClasses[i]); Flag = false; }
                }
                if (Flag) { MessageBox.Show("Ничего не найдено."); return; }
            }
            else if (FiltrCB.Text == "Раб.Тел.")
            {
                for (int i = 0; i < n; i++)
                {
                    if (Check(dataSourceMyClass.myClasses[i].Internal, textFiltr.Text)) { mySearch.Add(dataSourceMyClass.myClasses[i]); Flag = false; }
                }
                if (Flag) { MessageBox.Show("Ничего не найдено."); return; }
            }
            else if (FiltrCB.Text == "E-mail")
            {
                for (int i = 0; i < n; i++)
                {
                    if (Check(dataSourceMyClass.myClasses[i].EMail, textFiltr.Text)) { mySearch.Add(dataSourceMyClass.myClasses[i]); Flag = false; }
                }
                if (Flag) { MessageBox.Show("Ничего не найдено."); return; }
            }
            else if (FiltrCB.Text == "Городу")
            {
                for (int i = 0; i < n; i++)
                {
                    if (Check(dataSourceMyClass.myClasses[i].City, textFiltr.Text)) { mySearch.Add(dataSourceMyClass.myClasses[i]); Flag = false; }
                }
                if (Flag) { MessageBox.Show("Ничего не найдено."); return; }
            }
            else if (FiltrCB.Text == "Улице")
            {
                for (int i = 0; i < n; i++)
                {
                    if (Check(dataSourceMyClass.myClasses[i].Street, textFiltr.Text)) { mySearch.Add(dataSourceMyClass.myClasses[i]); Flag = false; }
                }
                if (Flag) { MessageBox.Show("Ничего не найдено."); return; }
            }
            else if (FiltrCB.Text == "Должности")
            {
                for (int i = 0; i < n; i++)
                {
                    if (Check(dataSourceMyClass.myClasses[i].Position, textFiltr.Text)) { mySearch.Add(dataSourceMyClass.myClasses[i]); Flag = false; }
                }
                if (Flag) { MessageBox.Show("Ничего не найдено."); return; }
            }
            else if (FiltrCB.Text == "Подразделению")
            {
                for (int i = 0; i < n; i++)
                {
                    if (Check(dataSourceMyClass.myClasses[i].Subdivision, textFiltr.Text)) { mySearch.Add(dataSourceMyClass.myClasses[i]); Flag = false; }
                }
                if (Flag) { MessageBox.Show("Ничего не найдено."); return; }
            }

            dataGrid1.ItemsSource = mySearch;//Привязываем к таблице созданную запись отфильтрованных данных
            dataGrid1.Items.Refresh();//Обновление таблицы
        }
     

    }
}
